home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKitArchive.mbox / mbox / 000166_misckit-reques…aska.et.byu.edu_Wed Apr 6 15:40:48 1994.msg < prev    next >
Internet Message Format  |  1994-10-30  |  3KB

  1. Return-Path: <misckit-request@alaska.et.byu.edu>
  2. Received: from alaska.et.byu.edu by darth.byu.edu (NX5.67d/NX3.0M)
  3.     id AA11734; Wed, 6 Apr 94 15:40:37 -0600
  4. Received: from acs1.byu.edu by alaska.et.byu.edu; Wed, 6 Apr 1994 14:46:27 -0600
  5. Received: from DIRECTORY-DAEMON by yvax.byu.edu (PMDF V4.3-7 #4169)
  6.  id <01HAUX1555E8HSMFKX@yvax.byu.edu>; Wed, 6 Apr 1994 14:46:25 MDT
  7. Received: from cithe501.cithep.caltech.edu by yvax.byu.edu (PMDF V4.3-7 #4169)
  8.  id <01HAUX0TL2M8HSPGXU@yvax.byu.edu>; Wed, 6 Apr 1994 14:46:16 MDT
  9. Received: from pundit.cithep.caltech.edu by cithe501.cithep.caltech.edu
  10.  (AIX 3.2/UCB 5.64/4.03) id AA39971; Wed, 6 Apr 1994 13:45:54 -0700
  11. Received: by pundit.cithep.caltech.edu (NX5.67d/NX3.0S) id AA09106; Wed,
  12.  6 Apr 94 13:45:50 -0700
  13. Received: by NeXT.Mailer (1.95)
  14. Received: by NeXT Mailer (1.95)
  15. Date: Wed, 06 Apr 1994 13:45:50 -0700
  16. From: Ernest Prabhakar <ernest@pundit.cithep.caltech.edu>
  17. Subject: Re: Comments on MiscAgent
  18. To: kane@gac.edu (Chris Kane)
  19. Cc: misckit@byu.edu
  20. Reply-To: ernest@cco.caltech.edu
  21. Message-Id: <9404062045.AA09106@pundit.cithep.caltech.edu>
  22. Content-Transfer-Encoding: 7BIT
  23.  
  24. Let me make sure I understand:
  25.  
  26.     The primary purpose of MiscAgent is to simplify the lazy loading and initialization of resources by using the responder chain to intercept messages.
  27.  
  28. [Does "resources" basically mean either a nib or a bundle, plus its constituents?]
  29.  
  30. Is that correct?  I think this is a great idea, but I'm not yet sure if its time has come.  My primary concerns are:
  31.  
  32. 1) how does the object know which classes implement which methods before loading.
  33.  
  34. 2) how to manage lots of overlapping, dynamically added classes ("implicit programming" - I like the term!)
  35.  
  36. 3) How to make this have no more overhead than direct connections?
  37.  
  38. I think we are all agreed that the goal is to simplify the programmers job for doing lazy initialization.  However, I think it needs to be as easy to setup a MiscAgent connection as it is to perform a direct connection.  If one needs to parse the nib, create a subclass, and resolve conflicts manually, much of the advantage will be lost.
  39.  
  40. I do agree this is a separate issue from the (much better defined) MiscDoc question (which I have promised Don to work on, but haven't yet :-().
  41.  
  42. I suspect that if we are to find a truly usable suggestion, it would be best to start with an existing situation and work to abstract it.  Two classes that come to mind are MiscNibController and MiscInfoController.  If we can abstract their common behavior into a class MiscAgent which (through delegates, subclases, or bundles) is as easy to use as the original classes, I think we will have a winner.
  43.  
  44. Thanks for taking the time to think this through, Chris!
  45.  
  46. - Ernie P.
  47. ---
  48. Ernest N. Prabhakar                  Caltech High Energy Physics
  49. Member, League for Programming Freedom (league@prep.ai.mit.edu)
  50. CaJUN President        NeXTMail:ernest@pundit.cithep.caltech.edu
  51. "...and ourselves, your servants for Jesus' sake." - II Cor 4:5b
  52. #import <std/disclaimer.h>
  53.